/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Source;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;

/**
 *
 * @author fernando
 */
public class MetodoPago_DAO implements DAO {
    private String sentenciaSQL;
    ConexionDB conexion;
    LinkedList<MetodoPago_POJO> listaDetalle = new LinkedList<MetodoPago_POJO>();
     MetodoPago_POJO retorno = new MetodoPago_POJO();
    ResultSet resultado;
    
    int value=-1;
    private String temp;
    
    public MetodoPago_DAO(){
    this.conexion=new ConexionDB();
    }
    
    public LinkedList<MetodoPago_POJO> obtenerReg(int id) throws SQLException{
    
        temp="select * from MetodoPago where idrolusuario=?";
       PreparedStatement ps=conexion.prepareStatement(temp); 
       ps.setInt(1,id);
     //sentenciaSQL = "select * from MetodoPago where idrolusuario=" + id;

        try {
            conexion.abrirConexion();
            //resultado = conexion.getResultSet(sentenciaSQL);
            resultado=ps.executeQuery();
            if (resultado.next()) {

                retorno.setIdpago(Integer.parseInt(resultado.getString("idpago")));
                retorno.setIdusuario(Integer.parseInt(resultado.getString("idusuario")));
                retorno.setMonto(Double.parseDouble(resultado.getString("idusuario")));


                listaDetalle.add(retorno);
            }

        } catch (Exception ex) {
            System.out.println("error " + ex);
        }
        ps.close();
        conexion.cerrarConexion();
        return listaDetalle;

    }
    
    public int guardarReg(int tipoPago,double monto,int idUsuario) throws SQLException{
        temp="INSERT INTO MetodoPago (tipopago,monto,idusuario) VALUES (?,?,?)";
     /*    sentenciaSQL = "INSERT INTO MetodoPago (tipopago,monto,idusuario) VALUES ("
                + tipoPago + "," + monto + "," + idUsuario + ")";

        System.out.println(sentenciaSQL);   */
        
        PreparedStatement ps=conexion.prepareStatement(temp);
        ps.setInt(1,tipoPago);
        ps.setDouble(2, monto);
        ps.setInt(3, idUsuario);
        
        try {
            conexion.abrirConexion();
            //value = conexion.executeQuery(sentenciaSQL);
            value=ps.executeUpdate();

        } catch (Exception ex) {
            System.out.println("error " + ex);
        }
        ps.close();
        conexion.cerrarConexion();
        return value;
        
    
   
    }
    
    public int actualizarReg(int idpago,int tipoPago,double monto,int idUsuario) throws SQLException{
        temp="UPDATE MetodoPago SET tipopago=?,monto=?,idusuario=? where idpago=?";
        PreparedStatement ps=conexion.prepareStatement(temp);
        ps.setInt(1, tipoPago);
        ps.setDouble(2, monto);
        ps.setInt(3,idUsuario);
        ps.setInt(4, idpago);
/*        sentenciaSQL = "UPDATE  MetodoPago   SET  tipopago=" + tipoPago
                + ",monto=" + monto + ",idusuario=" + idUsuario + " where idpago=" + idpago;

        System.out.println(sentenciaSQL);     */
        try {
            conexion.abrirConexion();
            //value = conexion.executeQuery(sentenciaSQL);
            value=ps.executeUpdate();

        } catch (Exception ex) {
            System.out.println("error " + ex);
        }
        ps.close();
        conexion.cerrarConexion();
        return value;
   
    }
    
    public int eliminarReg(int id) throws SQLException{
        temp="DELETE FROM MetodoPago WHERE idpago=?";
        PreparedStatement ps=conexion.prepareStatement(temp);
        ps.setInt(1, id);
     //sentenciaSQL = "DELETE FROM MetodoPago WHERE idpago=" + id;

        try {
            conexion.abrirConexion();
            //value = conexion.executeQuery(sentenciaSQL);
            value=ps.executeUpdate();
            ps.close();
            conexion.cerrarConexion();


        } catch (Exception ex) {
            System.out.println("error " + ex);
            conexion.cerrarConexion();
            value = -1;
        }

        return value;
    
    }
    
}
